const dayjs = require('dayjs');
// let projList = [
//     {
//         id: '0001',
//         projName: '深圳股评公司',
//         projStatus: '进行中',
//         projDesc: '股市有风险，投资需谨慎',
//         datetime: '2020-03-22',
//         profits: 3600,
//         address: '宇宙星河帝国长安大道 1188 号'
//     },
//     {
//         id: '0000',
//         projName: '海南重点工程项目',
//         projStatus: '已完成',
//         projDesc: '先修桥，再修路',
//         datetime: '2020-03-23',
//         profits: 88000,
//         address: '宇宙银河帝国国庆大道 6666 号'
//     }
// ]

let id = 0;

function nextId() {
    id++;
    return 'uid' + id;
}

function Project(name, desc, status) {
    this.id = nextId();
    this.projName = name;
    this.projDesc = desc;
    this.projStatus = status;
    this.profits = Math.floor(Math.random() * 10000);
    this.address = `宇宙银河帝国国庆大道 ${ Math.floor(Math.random() * 10000) } 号`;
    this.datetime = dayjs(new Date()).format('YYYY-MM-DD HH:mm');
}

let projList = [
    new Project('海南重点工程项目', '先修桥，再修路', '已完成'),
    new Project('深圳股评公司', '股市有风险，投资需谨慎', '进行中')

]


module.exports = {
    'GET /api/proj/getProjectList': async (ctx, next) => {
        ctx.rest({
            code: 0,
            data: projList
        });
    },
    'GET /api/proj/:id': async (ctx, next) => {
        let _id = ctx.params.id;
        let _proj = projList.filter(item => item.id === _id);
        ctx.rest({
            code: 0,
            data: _proj[0]
        });
    },
    'POST /api/proj/deleteProject': async (ctx, next) => {
        let _id = ctx.request.body.id || '';
        projList = projList.filter(item => (item.id !== _id));

        ctx.rest({
            code: 0,
            msg: '删除成功'
        });
    },
    'POST /api/proj/updateProject': async (ctx, next) => {
        let projName = ctx.request.body.projName || '',
            projDesc = ctx.request.body.projDesc || '';


        projList.map(item => {
            if (item.projName === projName) {
                item.projDesc = projDesc
            }
        })

        ctx.rest({
            code: 0,
            msg: '更新成功'
        });
    },
    'POST /api/proj/addProject': async (ctx, next) => {
        let { projName, projDesc, projStatus } = ctx.request.body;
        projList.unshift(new Project(projName, projDesc, projStatus));

        ctx.rest({
            code: 0,
            msg: '添加成功'
        });
    },
}